package com.jumper.study.front.service;

import java.util.List;

import com.jumper.study.front.dto.req.OrderCreateReq;
import com.jumper.study.front.dto.req.OrderSearchReq;
import com.jumper.study.front.dto.resp.OrderDetailResp;
import com.jumper.study.front.dto.resp.OrderItemResp;
import com.jumper.study.front.dto.vo.PageVO;

public interface OrderService {
    /**
     * 学员订单分布搜索
     * @param page
     * @param search
     * @return
     */
    List<OrderItemResp> pageSearchList(PageVO page, OrderSearchReq search);

    /**
     * 订单详情
     * @param id
     * @return
     */
    OrderDetailResp detail(Long id, Long accountId);

    /**
     * 订单详情
     * @param orderNo
     * @return
     */
    OrderDetailResp detail(String orderNo, Long accountId);

    /**
     * 创建订单
     * @param data
     * @return
     */
    String create(OrderCreateReq data);

    /**
     * 取消订单
     * @param id
     * @return
     */
    boolean cancel(Long id, Long accountId);

    /**
     * 取消订单
     * @param orderNo
     * @param accountId
     * @return
     */
    boolean cancel(String orderNo, Long accountId);

    /**
     * 订单支付完成
     * @param id
     * @return
     */
    boolean payed(Long id, Long accountId);

    /**
     * 订单支付完成
     * @param orderNo
     * @param accountId
     * @return
     */
    boolean payed(String orderNo, Long accountId);
}
